<?php

if (!defined('IN_AJAX')) die(basename(__FILE__));

global $bb_cfg, $lang, $userdata, $datastore;

$mode = (string) $this->request['mode'];
$html = '';

switch($mode)
{	
	case 'birthday_week':
		$stats = $datastore->get('stats');
		$datastore->enqueue(array(
            'stats',
        ));
		
		if ($stats['birthday_week_list'])
		{
			foreach($stats['birthday_week_list'] as $week)
			{
				$html[] = profile_url($week) .' <span class="small">('. birthday_age($week['age']) .')</span>';
			}
		    $html = sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday_check_day'], join(', ', $html));
		}
		else $html = sprintf($lang['NOBIRTHDAY_WEEK'], $bb_cfg['birthday_check_day']);
	break;

	case 'birthday_today':
		$stats = $datastore->get('stats');
		$datastore->enqueue(array(
            'stats',
        ));

		if ($stats['birthday_today_list'])
		{
			foreach($stats['birthday_today_list'] as $today)
			{
				$html[] = profile_url($today) .' <span class="small">('. birthday_age($today['age'], 1) .')</span>';
			}
			$html = $lang['BIRTHDAY_TODAY'] . join(', ', $html);
		}
		else $html = $lang['NOBIRTHDAY_TODAY'];
	break;
	
	case 'get_forum_mods':
	    $forum_id = (int) $this->request['forum_id'];
		
		$datastore->enqueue(array(
            'moderators',
        ));
		
		$moderators = array();
		$mod = $datastore->get('moderators');

        if (isset($mod['mod_users'][$forum_id]))
        {
            foreach ($mod['mod_users'][$forum_id] as $user_id)
            {
                $moderators[] = '<a href="'. PROFILE_URL . $user_id .'">'. $mod['name_users'][$user_id] .'</a>';
            }
        }
  
        if (isset($mod['mod_groups'][$forum_id]))
        {
            foreach ($mod['mod_groups'][$forum_id] as $group_id)
            {
                $moderators[] = '<a href="'. "groupcp.php?". POST_GROUPS_URL ."=". $group_id .'">'. $mod['name_groups'][$group_id] .'</a>';
            }
        }
  
        $html = ':&nbsp;';
        $html .= ($moderators) ? join(', ', $moderators) : $lang['NONE'];
		unset($moderators, $mod);
        $datastore->rm('moderators');

	break;
	
    case 'change_tz':
		$tz = (int) $this->request['tz'];
		if ($tz < -12) $tz = -12;
		if ($tz > 13) $tz = 13;
		if ($tz != $bb_cfg['board_timezone'])
		{
			// Set current user timezone
			DB()->query("UPDATE ". BB_USERS ." SET user_timezone = $tz WHERE user_id = ". $userdata['user_id'] ." LIMIT 1");
			$bb_cfg['board_timezone'] = $tz;
			cache_rm_user_sessions ($userdata['user_id']);
		}
	break;
	
	case 'get_traf_stats':
		$user_id = (int) $this->request['user_id'];
		$btu = get_bt_userdata($user_id);
		$profiledata = get_userdata($user_id);
		
		$speed_up = ($btu['speed_up']) ? humn_size($btu['speed_up']).'/s' : '0 KB/s';
		$speed_down = ($btu['speed_down']) ? humn_size($btu['speed_down']).'/s' : '0 KB/s';
		$user_ratio = ($btu['u_down_total'] > MIN_DL_FOR_RATIO) ? '<b class="gen">'. get_bt_ratio($btu) .'</b>' : $lang['IT_WILL_BE_DOWN'] .' <b>'. humn_size(MIN_DL_FOR_RATIO) .'</b>';
		
		$html = '
            <tr class="row3">
				<th style="padding: 0;" class="stats-ext"></th>
				<th>'. $lang['DOWNLOADED'] .'</th>
				<th>'. $lang['UPLOADED'] .'</th>
				<th>'. $lang['RELEASED'] .'</th>
				<th>'. $lang['BONUS'] .'</th>';
		$html .= ($bb_cfg['seed_bonus_enabled']) ? '<th>'. $lang['SEED_BONUS'] .'</th>' : '';
		$html .= '</tr>
			<tr class="row1">
				<td class="stats-ext">'. $lang['TOTAL_TRAF'] .'</td>
				<td id="u_down_total"><span class="editable bold leechmed">'. humn_size($btu['u_down_total']) .'</span></td>
				<td id="u_up_total"><span class="editable bold seedmed">' .humn_size($btu['u_up_total']) .'</span></td>
				<td id="u_up_release"><span class="editable bold seedmed">'. humn_size($btu['u_up_release']) .'</span></td>
				<td id="u_up_bonus"><span class="editable bold seedmed">'. humn_size($btu['u_up_bonus']) .'</span></td>';
        $html .= ($bb_cfg['seed_bonus_enabled']) ? '<td id="user_points"><span class="editable bold points">'. $profiledata['user_points'] .'</b></td>' : '';
		$html .= '</tr>
			<tr class="row5">
				<td colspan="1">'. $lang['MAX_SPEED'] .'</td>
				<td colspan="2">'. $lang['DL_DL_SPEED'] .': '. $speed_down .'</span></td>
				<td colspan="2">'. $lang['DL_UL_SPEED'] .': '. $speed_up .'</span></td>';
		$html .= ($bb_cfg['seed_bonus_enabled']) ? '<td colspan="1"></td>' : '';
		$html .= '</tr>';

		$this->response['user_ratio'] = '
            <th><a href="'. $bb_cfg['ratio_url_help'] .'" class="bold">'. $lang['USER_RATIO'] .'</a>:</th>
			<td>'. $user_ratio .'</td>
		';
	break;
	
	case 'user_stats':
		if(!$bb_cfg['user_stats']) $this->ajax_die($lang['MODULE_OFF']);
		$user_id = (int) $this->request['user_id'];
        $btu = get_bt_userdata($user_id);
		$profiledata = get_userdata($user_id);
		
		$ratio = get_bt_ratio($btu);
        $u_up_total = humn_size($btu['u_up_total']);
        $u_up_bonus = humn_size($btu['u_up_bonus']);
        $u_up_release = humn_size($btu['u_up_release']);
        $u_down_total = humn_size($btu['u_down_total']);
		$u_points = $profiledata['user_points'];
		
		$speed_up = ($btu['speed_up']) ? humn_size($btu['speed_up']).'/s' : '0 KB/s';
		$speed_down = ($btu['speed_down']) ? humn_size($btu['speed_down']).'/s' : '0 KB/s';
		
        if ($btu['u_down_total'] < MIN_DL_FOR_RATIO) $ratio = '---';
		
		$this->response['post_id'] = (int) $this->request['post_id'];
		$html .= '
			<table class="ratio1 table-wrap bCenter borderl w100" cellspacing="1" style="border-style: inset;"> 
				<tr class="row3 tCenter">
				  <td colspan="2" class="bold">'.$lang['STATISTICS'].':</p></td>
				</tr>
				<tr class="row5 seed">
				  <td class="med tLeft">&nbsp;'.$lang['USER_RATIO'].':</p></td>
				  <td class="bold tLeft">&nbsp;'.$ratio.'</td>
				</tr>
				<tr class="row5 leech">
				  <td class="med tLeft">&nbsp;<a class="leechsmall" href="search.php?dlu='.$user_id.'&dlc=1#results">'.$lang['DOWNLOADED'].'</a>:&nbsp;</td>
				  <td class="bold tLeft">&nbsp;'.$u_down_total.'</td>
				</tr>
				<tr class="row1 seed">
				  <td class="med tLeft">&nbsp;'.$lang['UPLOADED'].':&nbsp;</p></td>
				  <td class="bold tLeft">&nbsp;'.$u_up_total.'</td>
				</tr>
				<tr class="row5 seed">
				  <td class="med tLeft">&nbsp;<i><a class="seedsmall" href="tracker.php?rid='.$user_id.'#results">'.$lang['RELEASED'].'</a>:</i>&nbsp;</td>
				  <td class="tLeft">&nbsp;<i>'.$u_up_release.'</i></td>
				</tr>
				<tr class="row1 dlWill">
				  <td class="med tLeft">&nbsp;<i><a class="small dlWill" href="viewtopic.php?t=79">'.$lang['BONUS'].'</a>:</i>&nbsp;</td>
				  <td class="tLeft">&nbsp;<i>'.$u_up_bonus.'</i></td>
				</tr>';
		$html .= ($bb_cfg['seed_bonus_enabled']) ? '<tr class="row1 editable bold points">
				  <td class="med tLeft">&nbsp;<i><a class="small editable bold points" href="profile.php?mode=bonus">'.$lang['SEED_BONUS'].'</a>:</i>&nbsp;</td>
				  <td class="tLeft">&nbsp;<i>'.$u_points.'</i></td>
				</tr>' : '';
		$html .= '<tr class="row3">
					<td colspan="2" class="med tCenter bold">'.$lang['MAX_SPEED'].'</td>
				</tr>
				<tr class="row1 seed">
				  <td class="med tLeft">&nbsp;'.$lang['USER_STATS_SP_UP'].':</td>
				  <td class="bold tLeft">&nbsp;'.$speed_up.'</td>
				</tr>
				<tr class="row1 leech">
				  <td class="med tLeft">&nbsp;'.$lang['USER_STATS_SP_DL'].':</td>
				  <td class="bold tLeft">&nbsp;'.$speed_down.'</td>
				</tr>';
		$html .= '</table>';
	break;
	
	case 'mytorr':
		$user_id = (int) $this->request['user_id'];

				$sql = DB()->fetch_rowset("SELECT
		tor.topic_id as torrent_id , f.forum_id, f.forum_name, t.topic_id,
		t.topic_title, tor.complete_count,tor.size, tor.attach_id
		FROM ". BB_FORUMS ." f, ". BB_TOPICS ." t, ". BB_BT_TORRENTS ." tor
		WHERE tor.poster_id = ".$userdata['user_id']."
		AND t.topic_id = tor.topic_id
		AND t.forum_id = f.forum_id
		GROUP BY tor.topic_id
		ORDER BY tor.topic_id desc
		LIMIT 5");

		$html = '<div class="xenOverlay" style="z-index: 1000; top: 200.1px; left: 386.5px; display: block; position: fixed"><div class="section">';
				$html .= '<h2 class="heading h1">Список моих раздач: '. get_username($user_id) .' <a href="#" class="button primary OverlayCloser" onclick="$(\'.xenOverlay\').hide(\'slow\'); return false;" title="Закрыть список" >Закрыть</a></h2>';
		$html .= '<ol class="overlayScroll"><li class="primaryContent memberListItem"><div class="userInfo"><div class="userBlurb dimmed"><table class="forumline" width="100%" cellspacing="1" cellpadding="4" border="0">
		<tr>
		<td class="row3" align="center"><span class="gen">Форум</span></td>
		<td class="row3" align="center"><span class="gen">Название</span></td>
		<td class="row3" align="center"><span class="gen">Скачать</span></td>
		<td class="row3" align="center"><span class="gen">Скачано раз</span></td>
		</tr>';

				foreach ($sql as $row)
				{
		$html .= '<tr>';
		$html .= '
		<td><a href="viewforum.php?f='. $row['forum_id'].'" class="avatars" alt="">'.$row['forum_name'].'</a></td>
		<td><a href="viewtopic.php?t='. $row['topic_id'] .'">'.$row['topic_title'].'</a></td>
		<td align="center"><div class="gensmall" style="margin-top: 2px"><a class="bold" onclick="this.className="normal"" href="download.php?id=' . $row['attach_id'].'"" class="gensmall" style="text-decoration: none">Скачать</a></div></td>
		<td align="center"><b>'.$row['complete_count'].'</b></td>

		';
		$html .= '</tr>';
		}
		$html .= '</table></div></div></li></ol></div></div>';
	break;
}

$this->response['html']	= $html;
$this->response['mode']	= $mode;
